home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / dvmacros.zip / DV_CALL.MAC < prev    next >
Text File  |  1993-03-03  |  3KB  |  92 lines

  1. .xlist
  2. ; @CALL function_name
  3. ; Daniel T. Travison Jr.   01/01/88
  4. ; loads AL with a function number
  5. ; based on the function_name mnemonic.
  6. ; loads AH with 10h and executes an INT 15h
  7.  
  8. @CALL     MACRO  F_NAME
  9.           IFIDN  <F_NAME>,<PAUSE>
  10.             MOV  AL,0                  ;skip to next task
  11.           ELSE
  12.           IFIDN  <F_NAME>,<PRINTC>
  13.             MOV  AL,3                  ;display character on screen
  14.           ELSE
  15.           IFIDN  <F_NAME>,<GETBIT>
  16.             MOV  AL,19
  17.           ELSE
  18.           IFIDN  <F_NAME>,<FREEBIT>
  19.             MOV  AL,20                 ;software interrupt control
  20.           ELSE
  21.           IFIDN  <F_NAME>,<SETBIT>
  22.             MOV  AL,21
  23.           ELSE
  24.           IFIDN  <F_NAME>,<ISOBJ>
  25.             MOV  AL,22                 ;verify object handle
  26.           ELSE
  27.           IFIDN  <F_NAME>,<LOCATE>
  28.             MOV  AL,24                 ;locate window
  29.           ELSE
  30.           IFIDN  <F_NAME>,<SOUND>
  31.             MOV  AL,25                 ;operate speaker
  32.           ELSE
  33.           IFIDN  <F_NAME>,<OSTACK>
  34.             MOV  AL,26                 ;set up stack
  35.           ELSE
  36.           IFIDN  <F_NAME>,<BEGINC>
  37.             MOV  AL,27                 ;begin critical code
  38.           ELSE
  39.           IFIDN  <F_NAME>,<ENDC>
  40.             MOV  AL,28                 ;end critical code
  41.           ELSE
  42.           IFIDN  <F_NAME>,<STOP>
  43.             MOV  AL,29                 ;stop task
  44.           ELSE
  45.           IFIDN  <F_NAME>,<START>
  46.             MOV  AL,30                 ;start task
  47.           ELSE
  48.           IFIDN  <F_NAME>,<DISPEROR>
  49.             MOV  AL,31                 ;display error message
  50.           ELSE
  51.           IFIDN  <F_NAME>,<PGMINT>
  52.             MOV  AL,33                 ;interrupt another task
  53.           ELSE
  54.           IFIDN  <F_NAME>,<GETVER>
  55.             MOV  AL,34                 ;get version number
  56.           ELSE
  57.           IFIDN  <F_NAME>,<POSWIN>
  58.             MOV  AL,35                 ;position window
  59.           ELSE
  60.           IFIDN  <F_NAME>,<GETBUF>
  61.             MOV  AL,36                 ;get video buffer
  62.           ELSE
  63.           IFIDN  <F_NAME>,<USTACK>     ;restore original stack
  64.             MOV  AL,37
  65.           ELSE
  66.           .ERR
  67.           %OUT   Invalid Function Mnemonic in @CALL (%F_NAME)
  68.           EXITM
  69.           ENDIF
  70.           ENDIF
  71.           ENDIF
  72.           ENDIF
  73.           ENDIF
  74.           ENDIF
  75.           ENDIF
  76.           ENDIF
  77.           ENDIF
  78.           ENDIF
  79.           ENDIF
  80.           ENDIF
  81.           ENDIF
  82.           ENDIF
  83.           ENDIF
  84.           ENDIF
  85.           ENDIF
  86.           ENDIF
  87.           ENDIF
  88.             MOV  AH,10H
  89.             INT  15h
  90.           ENDM
  91. .list
  92.